Natural Functions Drum Machine v6.16.31 aChat Ears

A dance-floor Natural Functions groove organ. This build adds aChat Ears: a listening witness that watches density, breath, brightness, return, role balance and Human Ears effect while the Take Recorder captures the living score.
audio sleeping · step 01 · seed 314
Tip: on mobile, swipe the pattern grid sideways.
speed12 bars
depth64%
style drift asleep
112
19%
72%
100ms
Performance view: transport stays above, while this tab gives you the live mixer and scene pads for shaping a take.

Performance mixer deck

Live channel on/off and level while the song is playing

Performance scenes

Capture whole playable states, then recall or morph between them during a take
scene 1 selected
Tip: use scenes like DJ cue points — drums only, bass in, melody, singer, breakdown, return.
Take Recorder view: capture the living performance as note events, markers, notes and settings. The take JSON is the living score; record WAV externally when the song feels real.

Take Recorder

Drums, bass, melody, singer and branch are captured as a living score while you perform.
take recorder ready

This does not record browser audio. It records the musical decisions of the organism: drum hits, bass roots, melody notes, singer vowels, branch traces, markers and take notes. MIDI export is paused; export take JSON, save the lattice PNG, and keep the WAV as the audio document.

events 0 length 0:00 tempo 112 roles waiting
Tip: start the instrument, press Start take record, perform scenes / Human Ears / contours, mark good moments, then export the take JSON and keep your WAV.
aChat Ears view: a listening witness for the take. It does not replace human hearing; it exports musical evidence so aChat can read density, breath, return, role balance, Human Ears effect and likely song moments.

aChat Ears / Listening Witness

Sound → features → musical meaning → exportable listening memory
ears ready

This module turns the live take into a compact listening trace: comfort, density, breath/rest, brightness, repetition, home return, branch pressure, role balance and key moments. Export it with the take JSON and WAV so aChat can hear the structure more deeply.

comfort 0%
breath 0%
return 0%
brightness 0%
density 0%
branch 0%
No listening moments yet.
Tip: record a take, trigger Human Ears, then export the hearing JSON. Upload the take JSON + hearing JSON + WAV for the strongest aChat reading.
Voice view: choose a compact palette, build custom voices, and keep dropdowns manageable while you perform.

Voice palette

Choose a smaller bank of voices for every voice dropdown
full bank available
The selected palette becomes the choice list for drum tracks, singer, melody, bass and bifurcation voices. Current voices are kept even if they sit outside the palette.

Voice creator

Design new voices and add them to the shared voice bank
ready to create

Create voices as performance colours: soft pads, gentle bells, drones, plucks, breathy textures or hybrid low voices. Saved voices appear in the palette and can be used by drums, singer, melody, bass and bifurcation.

Created voices are stored in local storage with the rest of the instrument.
Pattern view: edit the drum lattice and watch the live Natural Functions modulation field.

Step lattice

click toggle note · shift+click accent dot · space play

Natural function field

live modulation trace
Pulse law

Euclidean rhythm chooses structurally even hits; the grid remains readable while the organism breathes around it.

42%
55%
Voices

Every function now reads from one shared voice bank. Drum rows, traversal singer, melody and dance bass can all choose drums, vowels, bells, basses, breaths, grains and orbit voices.

Lattice view: the song draws a visible memory of pulse, melody, branch and home traces.

Song lattice display

large visible memory of the song as it forms
listening for first notes

The lattice is not an oscilloscope. It is a memory drawing: drums become pulse nodes, melody becomes traversal thread, bifurcations become branch arcs, and home/resolution energy pulls the structure toward the centre.

nodes 0 links 0 energy 0% home 0%
Singer view: traversal voice, breath phrases, rests and soft vocal movement.

Traversal singing module

route voice over the drum lattice
waiting at root route: figure eight

The singer follows traversal work rather than a piano roll: it walks a route through the 16-step lattice, chooses notes from a natural-function field, and shapes each syllable with vowel/formant colour.

58%
3
Current chant: —

Singer breath phrases

rests · hums · call/answer phrasing
breath phrase listening

This shapes the singer like a breathing performer rather than a constant synth line. It can rest between phrases, hum softly, answer itself, drift vowels, and add a gentle choir under the main traversal voice.

8
26%
42%
32%
58%
Breath phrase: waiting for first breath
Melody view: dance-docked phrases, memory capture, return gravity and slow motif sequencing.

Melody module

natural function pitch-route
melody sleeping contour: orbit arc

The melody module is now a small melodic organism. It walks a contour, evolves phrases, can switch its own traversal shape more patiently, or hold one contour when you want stability. It lets the drums/singer nudge direction without constantly cycling away from a good phrase.

34%
2
24%
4 phrases
melody follows dance floor

When enabled, melody listens to the dance-floor pocket: it plays more tightly on useful dance gates, follows the bass root, and can behave as harmonic support rather than a separate lead.

68%
64%
56%
78%
Current phrase: —

Melody memory

remember a found phrase · return without looping rigidly
memory listening

When the melody finds something good, press Remember phrase. Or let the instrument auto-capture: when the self-listening resolution field becomes happy and the recent melody has enough shape, it remembers the phrase by itself and gently returns to it.

happy 0%
42%
38%
18%
16
74%
4
Memory phrase: waiting for melody notes

Motif sequencer

slow phrase memory · bar-scale
motif lane awake
2
70%
58%
44%

This is like the drum sequencer, but slower: each cell lasts several bars and sends a musical instruction into the melody organism. Click a cell to cycle motif type; Shift-click clears it. It can switch contour, move root, reverse direction, open singer response, and create break/drop pressure.

Motif note: waiting for first motif step
Contour creator: draw your own melodic traversal route, mark gates, save it, then use it in the Melody contour dropdown.

Contour creator

Create custom melody paths: draw the route, mark gates, save, then perform it like a built-in contour
ready to draw

A contour is the melody's path through pitch-space. Drag or click in the canvas to shape 16 points. Shift-click a point or use the step buttons to mark gates. Saved contours appear in the Melody contour dropdown and can be used by melody memory, scenes and export.

Tip: higher points make higher notes; gate points become phrase anchors.
Branch view: TreeLat bifurcation influence and dance-feel overlay, fitted inside the groove.

Bifurcation influence

TreeLat branch pressure · rhythmic adjustment
two paths listening

Bifurcation is now treated mainly as an adjustment field. A and B still branch visually, but by default they nudge rhythm, texture, pressure and dance feel rather than trying to become a separate tune. Choose Melodic branch only when you deliberately want a second song-line.

4
45%
38%
18%
74%
58%
Bifurcation note: adjustment field ready · voices colour branch pressure

The two paths sit on a TreeLat spine, but now default to influence the beat and texture rather than compete with the main tune.

Dance feel overlay

melody + bifurcation club coating
overlay awake

This is a test layer: it does not replace the tune. It gives melody and bifurcation notes a dance-music coating with offbeat ghosts, octave bass shadows, pluck accents, and a little sidechain-style pump.

Overlay note: melody and bifurcation wearing dance feel

Field view: self-listening resolution, Kepler capture, home pull and the moving Listening Lattice.

Self-listening resolution field

stable audible song-finding, without heavy dip machinery
field listening

This layer listens to return, tension, drift and repetition. The traveller approaches home from left to right; if readiness and return are high enough, the home field can capture it into a soft Kepler-style orbit before it settles.

48%
4
56%
62%
54%
3
Resolution note: waiting for the field to hear itself

Listening lattice

moving nodes · changing links · song nervous system
lattice listening

The old triangle has become a 3 × 3 listening lattice. Audio nodes and field nodes move around one another: drums, dance floor, melody, melody memory, singer, branch/bifurcation, home, voice colour and field seed.

42%
45%
38%
34%
52%
66%
38%
44%
DrumsDanceMelodyMemorySingerBranchHomeVoice colourField seed
This is initially a visible nervous system: the existing musical relationships are shown as moving links. Keep Listening depth low for subtle behaviour; raise it when you want a more self-reactive organism.
Lattice note: waiting for first exchange
Dance floor view: bass engine, pump, phrase mutations and club-pocket variation.

Dance-floor module

club bass · pump · preset mutations
dance engine sleeping

This layer now behaves more like a small dance-floor brain. It still gives a protected sub/bass route and pump, but it can also mutate its bass phrase, root travel, accents and fills so each seed has a different club pocket.

club route waiting

Human ears view: let the lattice dream in AI-ears mode, then translate the current state into a more breathable, memorable and human-listenable song.

Human Ear Translator

dream → recognise → translate → perform

The listening lattice can form dense AI-ear music after long runs. This module does not erase that complexity; it performs a kindness pass. It keeps one strange element, raises breath and repetition, softens over-busy links, and pulls the song toward a human nervous system.

Human comfort: waiting for the field
AI ears phrase listening wildness reading

Translation controls

preserve strangeness, add kindness
72%
42%
64%
68%

Translation target: more repetition, more rest, gentler brightness, higher damping, clearer home pull, less branch dominance, and one preserved alien glint from the AI-ear state.

Sync view: run several copies of the instrument in separate tabs/windows and let them share a local song clock. One can be the beat deck, another the tune deck, another the lattice display.

Local multi-instance sync

same browser · same file/origin · local memory/BroadcastChannel
sync asleep peers unknown clock waiting

Open two or more copies of this HTML file. In one copy choose Leader and press Start sync. In the others choose roles such as Beat deck, Tune deck, Bass deck or Lattice deck, enable local sync, and they will follow the shared local transport. Each instance can still have its own mixer and voices.

650ms
role: standalone channel: orbit-one last event: none

Tip: use Beat deck for drums/dance bass, Tune deck for melody/singer/branch, and Lattice deck for a silent visual display. Browser sync is local and approximate, but the buffered clock gives each instance a shared runway.

Help view: quick start, performance workflow, module guide, troubleshooting and album-making notes.

Natural Functions Voice help guide

This instrument does not make a fixed loop. It creates a living song-state: drums, dance floor, melody, memory, singer, branch influence and resolution field all listen to each other while you perform the result.

Core idea: treat it like a DJ set without finished tracks. Start the field, seed or choose a style, listen until a song appears, then perform with mixer, scenes, memory, dance variation and voice choices. Export the JSON and save the lattice PNG when the take is worth keeping.

Quick start

  1. Press Start.
  2. Choose a Style, then press Apply.
  3. Press Seed Pattern until the groove feels alive.
  4. Open Dance floor and turn on the dance engine.
  5. Open Melody and enable dance-docked melody.
  6. Use Mix & scenes to mute, reveal and shape the take.

Album-take workflow

find songperform songcapture song

1. FieldChoose style, voice palette and timing buffer. Let it run before judging.
2. BodyTurn on dance floor and shape bass/pump until the track has a centre.
3. TuneEnable melody memory and auto-capture. Let it remember a phrase when happy.
4. TakePerform mixer and scenes while recording your browser audio externally.
5. ArchiveExport JSON and save lattice PNG for the track identity.

Essential controls

  • Space start / stop, unless typing in a field.
  • Click a drum cell to toggle a note.
  • Shift + click a cell to add or remove an accent dot.
  • Alt + number switches tabs. Alt + 0 opens Help.
  • Use Timing Buffer around 100–150ms for steadier browser playback.

Take Recorder

The Take Recorder captures the performance decisions of the live organism: drums, bass, melody, singer, branch, timing, markers and notes.

Use Start take record while the transport runs. Export take JSON as the living score, save the lattice PNG for identity, and record WAV externally for the audio document. MIDI export is paused for now.

Mix & scenes

The mixer is for performance, not just volume. Mute and reveal drum tracks, singer, melody, branch, bass and dance feel while the song runs.

Scenes store whole playable states. Save scenes like an arrangement: drums only, bass in, melody in, break, return, ending. Use morph time to glide between states.

Voices and palettes

Voice palette limits dropdowns to a useful group, making performance easier. Use Soft long voices for gentle music, Drum kit for rhythm work, or Created voices for your own sound-world.

Voice creator lets you design, test and save new synth voices. Saved voices are added to the shared bank and can appear in every module.

Pattern and drum lattice

The 8 drum tracks form the pulse skeleton. Seed Pattern creates a new rhythmic condition. If Seed voices from palette is enabled, it also chooses voices from the current palette and rebalances the mixer.

The Natural Functions field animates the timing/modulation life underneath the grid.

Dance floor

The dance floor gives the song body: bass, pump, variation, phrase mutations and club feel.

Use Dance brain, Auto mutate, Variation, Fill chance and Bass travel to stop the groove becoming static. The melody can dock to the dance gates so it supports the groove instead of floating away.

Melody and memory

Dance-docked melody locks the tune to the dance floor. For recordable dance music, start with Melody role set to Dance support or Chord pulses.

Auto-capture when happy lets the instrument remember a phrase when resolution and melodic variety are high enough. Return to phrase pulls the song back without turning it into a rigid loop.

Singer and breath

The singer is a traversal voice, not a normal lyric vocal. It follows routes and vowel colours.

Use Breath phrases, Rest chance and Soft choir to make it appear like a presence in the room rather than a constant lead.

Branch / bifurcation

Bifurcation is best treated as an influence field: rhythmic shadow, texture, branch pressure and funk pocket. Use Melodic branch only when you deliberately want a second tune.

TreeLat keeps branch movement returning to a safe trunk so the main groove remains protected.

Field, resolution and listening lattice

The resolution field listens for return, tension and readiness. Home pull and Kepler capture make the song circle and settle rather than snap to a fixed ending.

Listening lattice shows the song organism as moving nodes and changing links: drums, dance, melody, memory, singer, branch, home, voice colour and field seed. If the track becomes too locked, reduce Listening depth or individual sends.

Song lattice

The lattice is a memory drawing, not an oscilloscope. Drums create pulse nodes, melody creates traversal threads, branch adds arcs, and resolution creates the home pull.

Use Save lattice PNG to create track artwork or an archive image for each take.

Useful recipes

Single-worthy dance: House pulse or Traverse swing, dance engine on, melody dance-docked, bifurcation influence, auto-capture on.

Ambient orbit: Ambient orbit style, Soft long voices, lower density, singer breath on, dance floor subtle.

Techno test: Dance lock, techno dance style, higher pump/drive, melody role set to chord pulses or offbeat answer.

Multi-instance sync

Open the same HTML file in several browser tabs or windows. Set one to Leader, set the others to roles like Beat deck, Tune deck, Bass deck or Lattice deck, then press Start sync on the leader.

Sync uses local browser memory and BroadcastChannel where available. It is designed for performance layering, not sample-accurate studio clocking. Use the timing buffer and start latency to give each instance enough runway.

aChat Ears / Listening Witness

aChat Ears exports a musical evidence layer for a take: density, breath/rest, brightness, return, memory, branch pressure, role balance, Human Ears effect and likely song moments.

Use it after or during a take. Export the hearing JSON with the take JSON and WAV. This gives aChat better machine-hearing without pretending to replace human ears.

Troubleshooting

  • No sound: press Start once; browsers require a user gesture to wake audio.
  • Too busy: mute singer, branch or upper drum tracks in the mixer.
  • Melody feels late: enable Dance-dock melody and raise Timing tighten.
  • Old settings are odd: use Reset saved settings in Voices, then reload.
  • Jitter: raise Timing Buffer to 130–160ms.

Release checklist

  1. Record the audio take externally.
  2. Export take JSON from the Take Recorder.
  3. Save lattice PNG.
  4. Write down title, tempo, style and any scene notes.
  5. Keep the HTML build used for the recording.

What this is

Natural Functions Voice is a generative performance instrument. It does not replace taste and it does not simply output a finished tune. It creates conditions where you and the system can find, steer and record a dynamic song.

Think: instrument → field → performance → capture → song.

Orbit and The Traversals workflow: find song → shape song → perform song → capture song → draw song.